package com.immediatus.util;

import java.util.Comparator;
import java.util.List;

public abstract class Sorter<T>{

    public abstract void sort(final T[] array_, final int start_, final int end_, final Comparator<T> comparator_);

    public abstract void sort(final List<T> list_, final int start_, final int end_, final Comparator<T> comparator_);

    public final void sort(final T[] array_, final Comparator<T> comparator_){
        this.sort(array_, 0, array_.length, comparator_);
    }

    public final void sort(final List<T> list_, final Comparator<T> comparator_){
        this.sort(list_, 0, list_.size(), comparator_);
    }
}
